Set up
Visualizations of potential relationships
Overall survival status with mutation counts by sex and smoking
status



Overall survival status with fraction genome altered by sex and
smoking status



Overal survival with age

Between mutation counts and fraction genome altered


LS0tCnRpdGxlOiAnTGkgUGVpc2hhbiBWaXN1YWxpemF0aW9uIElCTScKYXV0aG9yOiAnTGkgUGVpc2hhbicKZGF0ZTogJzExLzIzLzIwMjEnCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgdG9jOiB5ZXMKICAgIHRoZW1lOiBqb3VybmFsCiAgaHRtbF9kb2N1bWVudDoKICAgIHRvYzogeWVzCiAgICBkZl9wcmludDogcGFnZWQKLS0tCjxzdHlsZT4KYm9keXsgLyogTm9ybWFsICovCmZvbnQtc2l6ZTogMTVweDsKY29sb3I6IGJsYWNrOwp9CndyaXRlIHsgIApsaW5lLWhlaWdodDogN2VtOwp9CnRhYmxlIHsgLyogVGFibGUgKi8KZm9udC1zaXplOiAxMnB4Owp9CmgxIHsgLyogSGVhZGVyIDEgKi8KZm9udC1zaXplOiAzMHB4Owp9CmgyIHsgLyogSGVhZGVyIDIgKgpmb250LXNpemU6IDI2cHg7Cn0KaDMgeyAvKiBIZWFkZXIgMyAqLwpmb250LXNpemU6IDIwcHg7Cn0KY29kZS5yeyAvKiBDb2RlIGJsb2NrICovCmZvbnQtc2l6ZTogMTRweDsKfQpwcmUgeyAvKiBDb2RlIGJsb2NrICovCmZvbnQtc2l6ZTogMTRweAp9Ci5tYWluLWNvbnRhaW5lciB7CiAgICB3aWR0aDogODAlOwogICAgbWF4LXdpZHRoOiB1bnNldDsKfQo8L3N0eWxlPgoKIyMgU2V0IHVwCmBgYHtyIHNldHVwLCBlY2hvPUZBTFNFLCBldmFsPVRSVUUsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSxldmFsPVRSVUUsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0UpCmBgYAoKYGBge3IgbG9hZCBwYWNrYWdlcywgZWNobz1GQUxTRSwgZXZhbD1UUlVFfQpsaWJyYXJ5KHJlYWR4bCkKbGlicmFyeShtYWdyaXR0cikKbGlicmFyeShkcGx5cikKbGlicmFyeShnZ3Bsb3QyKSAgICAKbGlicmFyeShnZ3RoZW1lcykKbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkoanNvbmxpdGUpCmxpYnJhcnkodGlkeXIpCmxpYnJhcnkodGlncmlzKQpsaWJyYXJ5KHRpZHl0ZXh0KQpsaWJyYXJ5KHRleHRkYXRhKQpsaWJyYXJ5KHRtKQpsaWJyYXJ5KHF1YW50ZWRhKQpsaWJyYXJ5KHJ2ZXN0KQpsaWJyYXJ5KHN0cmluZ3IpCmxpYnJhcnkoU25vd2JhbGxDKQpsaWJyYXJ5KHdvcmRjbG91ZCkKbGlicmFyeShwbG90cml4KQpsaWJyYXJ5KHFkYXBEaWN0aW9uYXJpZXMpCmxpYnJhcnkoZm9ybWF0dGFibGUpCmxpYnJhcnkoc3RyaW5ncikKbGlicmFyeShEVCkKbGlicmFyeShuZXR3b3JrKQpsaWJyYXJ5KGdnbmV0d29yaykKbGlicmFyeShpZ3JhcGgpCmxpYnJhcnkoUkNvbG9yQnJld2VyKQpsaWJyYXJ5KHJhbmRvbWNvbG9SKQpsaWJyYXJ5KHN0cmluZ2kpCmxpYnJhcnkoaWdyYXBoKQpsaWJyYXJ5KGdncmFwaCkKbGlicmFyeShncmFwaGxheW91dHMpCmxpYnJhcnkocHN5Y2gpCmBgYAoKYGBge3IsIGVjaG89RkFMU0V9CmRmPC1yZWFkX2V4Y2VsKCd+L0RvY3VtZW50cy9HaXRIdWIvUHJhY3RpY3VtX0lCTS8zLjI4IC0gNC4wNCBVcGRhdGUvbHVuZ19jYW5jZXJfYWxsX2R1bW1pZmllZC54bHN4JykKI2RmCmBgYAoKIyMgRGVzY3JpcHRpdmUgU3RhdGlzdGljcwpgYGB7ciwgZWNobz1GQUxTRX0KZGVzY3JpYmUoZGYpCmBgYAoKIyMgRGlzdHJpYnV0aW9uIHBsb3RzCgojIyMgT3ZlcmFsbCBzdXJ2aXZhbCBtb250aHMgcmVsYXRlZApgYGB7ciwgZWNobz1GQUxTRX0KZ2dwbG90KGRmLCBhZXMoeD1gT3ZlcmFsbCBTdXJ2aXZhbCAoTW9udGhzKWAsIGZpbGw9ZmFjdG9yKFNleCkpKSsgCiAgdGhlbWVfYncoKSsKICBnZW9tX2RlbnNpdHkoYWxwaGE9LjMpKwogIGxhYnModGl0bGU9J092ZXJhbGwgc3Vydml2YWwgZGlzdHJpYnV0aW9uIChtb250aHMpIGJ5IHNleCcsIHk9J0RlbnNpdHknLCBmaWxsPSdTZXgnKSsKICBzY2FsZV9maWxsX2Rpc2NyZXRlKG5hbWUgPSAnU2V4JywgbGFiZWxzID0gYygnTWFsZScsJ0ZlbWFsZScpKSsKICB0aGVtZShsZWdlbmQucG9zaXRpb249J3JpZ2h0JywgcGxvdC50aXRsZT1lbGVtZW50X3RleHQoaGp1c3Q9MC41KSkKYGBgCmBgYHtyLCBlY2hvPUZBTFNFfQpnZ3Bsb3QoZGYsIGFlcyh4PWBPdmVyYWxsIFN1cnZpdmFsIChNb250aHMpYCwgZmlsbD1mYWN0b3IoYFNtb2tpbmcgU3RhdHVzYCkpKSsgCiAgdGhlbWVfYncoKSsKICBnZW9tX2RlbnNpdHkoYWxwaGE9LjMpKwogIGxhYnModGl0bGU9J092ZXJhbGwgc3Vydml2YWwgZGlzdHJpYnV0aW9uIChtb250aHMpIGJ5IHNtb2tpbmcgc3RhdHVzJywgeT0nRGVuc2l0eScsIGZpbGw9J1Ntb2tpbmcgU3RhdHVzJykrCiAgc2NhbGVfZmlsbF9kaXNjcmV0ZShuYW1lID0gJ1Ntb2tpbmcgU3RhdHVzJywgbGFiZWxzID0gYygnTm8nLCdZZXMnKSkrCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSdyaWdodCcsIHBsb3QudGl0bGU9ZWxlbWVudF90ZXh0KGhqdXN0PTAuNSkpCmBgYAoKYGBge3IsIGVjaG89RkFMU0V9CmdncGxvdChkZiwgYWVzKHg9YE92ZXJhbGwgU3Vydml2YWwgKE1vbnRocylgLCBmaWxsPWZhY3RvcihgQ2FuY2VyIFR5cGUgRGV0YWlsZWRgKSkpKyAKICB0aGVtZV9idygpKwogIGdlb21fZGVuc2l0eShhbHBoYT0uMykrCiAgbGFicyh0aXRsZT0nT3ZlcmFsbCBzdXJ2aXZhbCBkaXN0cmlidXRpb24gKG1vbnRocykgYnkgY2FuY2VyIHR5cGUnLCB5PSdEZW5zaXR5JywgZmlsbD0nQ2FuY2VyIFR5cGUgRGV0YWlsZWQnKSsKICBzY2FsZV9maWxsX2Rpc2NyZXRlKG5hbWUgPSAnQ2FuY2VyIFR5cGUgRGV0YWlsZWQnLCBsYWJlbHMgPSBjKCdMdW5nIFNxdWFtb3VzIENlbGwgQ2FyY2lub21hJywnTHVuZyBBZGVub2NhcmNpbm9tYScpKSsKICB0aGVtZShsZWdlbmQucG9zaXRpb249J3JpZ2h0JywgcGxvdC50aXRsZT1lbGVtZW50X3RleHQoaGp1c3Q9MC41KSkKYGBgCgojIyMgTXV0YXRpb24gY291bnQgcmVsYXRlZApgYGB7ciwgZWNobz1GQUxTRX0KZ2dwbG90KGRmLCBhZXMoeD1gTXV0YXRpb24gQ291bnRgLCBmaWxsPWZhY3RvcihTZXgpKSkrIAogIHRoZW1lX2J3KCkrCiAgZ2VvbV9kZW5zaXR5KGFscGhhPS4zKSsKICBsYWJzKHRpdGxlPSdNdXRhdGlvbiBjb3VudCBkaXN0cmlidXRpb24gYnkgc2V4JywgeT0nRGVuc2l0eScsIGZpbGw9J1NleCcpKwogIHNjYWxlX2ZpbGxfZGlzY3JldGUobmFtZSA9ICdTZXgnLCBsYWJlbHMgPSBjKCdNYWxlJywnRmVtYWxlJykpKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0ncmlnaHQnLCBwbG90LnRpdGxlPWVsZW1lbnRfdGV4dChoanVzdD0wLjUpKQpgYGAKCmBgYHtyLCBlY2hvPUZBTFNFfQpnZ3Bsb3QoZGYsIGFlcyh4PWBNdXRhdGlvbiBDb3VudGAsIGZpbGw9ZmFjdG9yKGBTbW9raW5nIFN0YXR1c2ApKSkrIAogIHRoZW1lX2J3KCkrCiAgZ2VvbV9kZW5zaXR5KGFscGhhPS4zKSsKICBsYWJzKHRpdGxlPSdNdXRhdGlvbiBjb3VudCBkaXN0cmlidXRpb24gYnkgc21va2luZyBzdGF0dXMnLCB5PSdEZW5zaXR5JywgZmlsbD0nU21va2luZyBTdGF0dXMnKSsKICBzY2FsZV9maWxsX2Rpc2NyZXRlKG5hbWUgPSAnU21va2luZyBTdGF0dXMnLCBsYWJlbHMgPSBjKCdObycsJ1llcycpKSsKICB0aGVtZShsZWdlbmQucG9zaXRpb249J3JpZ2h0JywgcGxvdC50aXRsZT1lbGVtZW50X3RleHQoaGp1c3Q9MC41KSkKYGBgCmBgYHtyLCBlY2hvPUZBTFNFfQpnZ3Bsb3QoZGYsIGFlcyh4PWBNdXRhdGlvbiBDb3VudGAsIGZpbGw9ZmFjdG9yKGBDYW5jZXIgVHlwZSBEZXRhaWxlZGApKSkrIAogIHRoZW1lX2J3KCkrCiAgZ2VvbV9kZW5zaXR5KGFscGhhPS4zKSsKICBsYWJzKHRpdGxlPSdNdXRhdGlvbiBjb3VudCBkaXN0cmlidXRpb24gYnkgY2FuY2VyIHR5cGUnLCB5PSdEZW5zaXR5JywgZmlsbD0nQ2FuY2VyIFR5cGUgRGV0YWlsZWQnKSsKICBzY2FsZV9maWxsX2Rpc2NyZXRlKG5hbWUgPSAnQ2FuY2VyIFR5cGUgRGV0YWlsZWQnLCBsYWJlbHMgPSBjKCdMdW5nIFNxdWFtb3VzIENlbGwgQ2FyY2lub21hJywnTHVuZyBBZGVub2NhcmNpbm9tYScpKSsKICB0aGVtZShsZWdlbmQucG9zaXRpb249J3JpZ2h0JywgcGxvdC50aXRsZT1lbGVtZW50X3RleHQoaGp1c3Q9MC41KSkKYGBgCgpgYGB7ciwgZWNobz1GQUxTRX0KZ2dwbG90KGRmLCBhZXMoeD1gTXV0YXRpb24gQ291bnRgLCBmaWxsPWZhY3RvcihgT3ZlcmFsbCBTdXJ2aXZhbCBTdGF0dXNgKSkpKyAKICB0aGVtZV9idygpKwogIGdlb21fZGVuc2l0eShhbHBoYT0uMykrCiAgbGFicyh0aXRsZT0nTXV0YXRpb24gY291bnQgZGlzdHJpYnV0aW9uIGJ5IG92ZXJhbGwgc3Vydml2YWwgc3RhdHVzJywgeT0nRGVuc2l0eScsIGZpbGw9J092ZXJhbGwgU3Vydml2YWwgU3RhdHVzJykrCiAgc2NhbGVfZmlsbF9kaXNjcmV0ZShuYW1lID0gJ092ZXJhbGwgU3Vydml2YWwgU3RhdHVzJywgbGFiZWxzID0gYygnTGl2aW5nJywnRGVjZWFzZWQnKSkrCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSdyaWdodCcsIHBsb3QudGl0bGU9ZWxlbWVudF90ZXh0KGhqdXN0PTAuNSkpCmBgYAoKIyMjIEZyYWN0aW9uIGdlbm9tZSBhbHRlcmVkIHJlbGF0ZWQKYGBge3IsIGVjaG89RkFMU0V9CmdncGxvdChkZiwgYWVzKHg9YEZyYWN0aW9uIEdlbm9tZSBBbHRlcmVkYCwgZmlsbD1mYWN0b3IoU2V4KSkpKyAKICB0aGVtZV9idygpKwogIGdlb21fZGVuc2l0eShhbHBoYT0uMykrCiAgbGFicyh0aXRsZT0nRnJhY3Rpb24gZ2Vub21lIGFsdGVyZWQgZGlzdHJpYnV0aW9uIGJ5IHNleCcsIHk9J0RlbnNpdHknLCBmaWxsPSdTZXgnKSsKICBzY2FsZV9maWxsX2Rpc2NyZXRlKG5hbWUgPSAnU2V4JywgbGFiZWxzID0gYygnTWFsZScsJ0ZlbWFsZScpKSsKICB0aGVtZShsZWdlbmQucG9zaXRpb249J3JpZ2h0JywgcGxvdC50aXRsZT1lbGVtZW50X3RleHQoaGp1c3Q9MC41KSkKYGBgCgpgYGB7ciwgZWNobz1GQUxTRX0KZ2dwbG90KGRmLCBhZXMoeD1gRnJhY3Rpb24gR2Vub21lIEFsdGVyZWRgLCBmaWxsPWZhY3RvcihgU21va2luZyBTdGF0dXNgKSkpKyAKICB0aGVtZV9idygpKwogIGdlb21fZGVuc2l0eShhbHBoYT0uMykrCiAgbGFicyh0aXRsZT0nRnJhY3Rpb24gZ2Vub21lIGFsdGVyZWQgZGlzdHJpYnV0aW9uIGJ5IHNtb2tpbmcgc3RhdHVzJywgeT0nRGVuc2l0eScsIGZpbGw9J1Ntb2tpbmcgU3RhdHVzJykrCiAgc2NhbGVfZmlsbF9kaXNjcmV0ZShuYW1lID0gJ1Ntb2tpbmcgU3RhdHVzJywgbGFiZWxzID0gYygnTm8nLCdZZXMnKSkrCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSdyaWdodCcsIHBsb3QudGl0bGU9ZWxlbWVudF90ZXh0KGhqdXN0PTAuNSkpCmBgYAoKYGBge3IsIGVjaG89RkFMU0V9CmdncGxvdChkZiwgYWVzKHg9YEZyYWN0aW9uIEdlbm9tZSBBbHRlcmVkYCwgZmlsbD1mYWN0b3IoYE92ZXJhbGwgU3Vydml2YWwgU3RhdHVzYCkpKSsgCiAgdGhlbWVfYncoKSsKICBnZW9tX2RlbnNpdHkoYWxwaGE9LjMpKwogIGxhYnModGl0bGU9J0ZyYWN0aW9uIGdlbm9tZSBhbHRlcmVkIGRpc3RyaWJ1dGlvbiBieSBvdmVyYWxsIHN1cnZpdmFsIHN0YXR1cycsIHk9J0RlbnNpdHknLCBmaWxsPSdPdmVyYWxsIFN1cnZpdmFsIFN0YXR1cycpKwogIHNjYWxlX2ZpbGxfZGlzY3JldGUobmFtZSA9ICdPdmVyYWxsIFN1cnZpdmFsIFN0YXR1cycsIGxhYmVscyA9IGMoJ0xpdmluZycsJ0RlY2Vhc2VkJykpKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0ncmlnaHQnLCBwbG90LnRpdGxlPWVsZW1lbnRfdGV4dChoanVzdD0wLjUpKQpgYGAKCmBgYHtyLCBlY2hvPUZBTFNFfQpnZ3Bsb3QoZGYsIGFlcyh4PWBGcmFjdGlvbiBHZW5vbWUgQWx0ZXJlZGAsIGZpbGw9ZmFjdG9yKGBDYW5jZXIgVHlwZSBEZXRhaWxlZGApKSkrIAogIHRoZW1lX2J3KCkrCiAgZ2VvbV9kZW5zaXR5KGFscGhhPS4zKSsKICBsYWJzKHRpdGxlPSdGcmFjdGlvbiBnZW5vbWUgYWx0ZXJlZCBkaXN0cmlidXRpb24gYnkgY2FuY2VyIHR5cGUnLCB5PSdEZW5zaXR5JywgZmlsbD0nQ2FuY2VyIFR5cGUgRGV0YWlsZWQnKSsKICBzY2FsZV9maWxsX2Rpc2NyZXRlKG5hbWUgPSAnRnJhY3Rpb24gR2Vub21lIEFsdGVyZWQnLCBsYWJlbHMgPSBjKCdMdW5nIFNxdWFtb3VzIENlbGwgQ2FyY2lub21hJywnTHVuZyBBZGVub2NhcmNpbm9tYScpKSsKICB0aGVtZShsZWdlbmQucG9zaXRpb249J3JpZ2h0JywgcGxvdC50aXRsZT1lbGVtZW50X3RleHQoaGp1c3Q9MC41KSkKYGBgCgojIyMgQWdlIHJlbGF0ZWQKYGBge3IsIGVjaG89RkFMU0V9CmdncGxvdChkZiwgYWVzKHg9QWdlLCBmaWxsPWZhY3RvcihgT3ZlcmFsbCBTdXJ2aXZhbCBTdGF0dXNgKSkpKyAKICB0aGVtZV9idygpKwogIGdlb21fZGVuc2l0eShhbHBoYT0uMykrCiAgbGFicyh0aXRsZT0nQWdlIGRpc3RyaWJ1dGlvbiBieSBvdmVyYWxsIHN1cnZpdmFsIHN0YXR1cycsIHk9J0RlbnNpdHknLCBmaWxsPSdPdmVyYWxsIFN1cnZpdmFsIFN0YXR1cycpKwogIHNjYWxlX2ZpbGxfZGlzY3JldGUobmFtZSA9ICdPdmVyYWxsIFN1cnZpdmFsIFN0YXR1cycsIGxhYmVscyA9IGMoJ0xpdmluZycsJ0RlY2Vhc2VkJykpKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0ncmlnaHQnLCBwbG90LnRpdGxlPWVsZW1lbnRfdGV4dChoanVzdD0wLjUpKQpgYGAKCiMjIFZpc3VhbGl6YXRpb25zIG9mIHBvdGVudGlhbCByZWxhdGlvbnNoaXBzCgojIyMgT3ZlcmFsbCBzdXJ2aXZhbCBzdGF0dXMgd2l0aCBtdXRhdGlvbiBjb3VudHMgYnkgc2V4IGFuZCBzbW9raW5nIHN0YXR1cwpgYGB7ciBwbG90IG11dGF0aW9uLCBlY2hvPUZBTFNFLCBldmFsPVRSVUUsIGZpZy5hbGlnbj0nY2VudGVyJ30KbXV0YXRpb248LWdncGxvdChkZiwgYWVzKHg9YE11dGF0aW9uIENvdW50YCwgeT1gT3ZlcmFsbCBTdXJ2aXZhbCAoTW9udGhzKWAsIGdyb3VwPWZhY3RvcihTZXgpKSkrCiAgdGhlbWVfYncoKSsKICBnZW9tX3BvaW50KGFlcyhjb2xvcj1mYWN0b3IoU2V4KSkpKwogIGdlb21fc21vb3RoKGFlcyhjb2xvcj1mYWN0b3IoU2V4KSksc2U9VFJVRSkrCiAgI3NjYWxlX2NvbG9yX21hbnVhbCh2YWx1ZXM9YygnMSc9J2JsdWUnLCAnMCc9J3JlZCcpKSsKICBzY2FsZV9jb2xvcl9odWUobGFiZWxzID0gYygnTWFsZScsICdGZW1hbGUnKSwgbmFtZT0nU2V4JykrCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSdyaWdodCcpKwogIGxhYnMoeD0nTXV0YXRpb24gQ291bnQnLCB5PSdPdmVyYWxsIFN1cnZpdmFsIChNb250aHMpJywgdGl0bGU9J1JlbGF0aW9uc2hpcCBiZXR3ZWVuIG92ZXJhbGwgc3Vydml2YWwgYW5kIG11dGF0aW9uIGNvdW50cyBieSBzZXgnKSsKICB0aGVtZShwbG90LnRpdGxlPWVsZW1lbnRfdGV4dChoanVzdD0wLjUpKQptdXRhdGlvbgpgYGAKYGBge3IgcGxvdCBtdXRhdGlvbjIsIGVjaG89RkFMU0UsIGV2YWw9VFJVRSwgZmlnLmFsaWduPSdjZW50ZXInfQptdXRhdGlvbjI8LWdncGxvdChkZiwgYWVzKHg9YE11dGF0aW9uIENvdW50YCwgeT1gT3ZlcmFsbCBTdXJ2aXZhbCAoTW9udGhzKWAsIGdyb3VwPWZhY3RvcihgU21va2luZyBTdGF0dXNgKSkpKwogIHRoZW1lX2J3KCkrCiAgZ2VvbV9wb2ludChhZXMoY29sb3I9ZmFjdG9yKGBTbW9raW5nIFN0YXR1c2ApKSkrCiAgZ2VvbV9zbW9vdGgoYWVzKGNvbG9yPWZhY3RvcihgU21va2luZyBTdGF0dXNgKSksc2U9VFJVRSkrCiAgc2NhbGVfY29sb3JfaHVlKGxhYmVscyA9IGMoJ05vJywgJ1llcycpLCBuYW1lPSdTbW9raW5nIFN0YXR1cycpKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0ncmlnaHQnKSsKICBsYWJzKHg9J011dGF0aW9uIENvdW50JywgeT0nT3ZlcmFsbCBTdXJ2aXZhbCAoTW9udGhzKScsIHRpdGxlPSdSZWxhdGlvbnNoaXAgYmV0d2VlbiBvdmVyYWxsIHN1cnZpdmFsIGFuZCBtdXRhdGlvbiBjb3VudHMgYnkgc21va2luZyBzdGF1dHMnKSsKICB0aGVtZShwbG90LnRpdGxlPWVsZW1lbnRfdGV4dChoanVzdD0wLjUpKQptdXRhdGlvbjIKYGBgCgpgYGB7ciBwbG90IG11dGF0aW9uMywgZWNobz1GQUxTRSwgZXZhbD1UUlVFLCBmaWcuYWxpZ249J2NlbnRlcid9Cm11dGF0aW9uMzwtZ2dwbG90KGRmLCBhZXMoeD1gTXV0YXRpb24gQ291bnRgLCB5PWBPdmVyYWxsIFN1cnZpdmFsIChNb250aHMpYCwgZ3JvdXA9ZmFjdG9yKGBDYW5jZXIgVHlwZSBEZXRhaWxlZGApKSkrCiAgdGhlbWVfYncoKSsKICBnZW9tX3BvaW50KGFlcyhjb2xvcj1mYWN0b3IoYENhbmNlciBUeXBlIERldGFpbGVkYCkpKSsKICBnZW9tX3Ntb290aChhZXMoY29sb3I9ZmFjdG9yKGBDYW5jZXIgVHlwZSBEZXRhaWxlZGApKSxzZT1UUlVFKSsKICBzY2FsZV9jb2xvcl9odWUobGFiZWxzID0gYygnTHVuZyBTcXVhbW91cyBDZWxsIENhcmNpbm9tYScsJ0x1bmcgQWRlbm9jYXJjaW5vbWEnKSwgbmFtZT0nQ2FuY2VyIFR5cGUgRGV0YWlsZWQnKSsKICB0aGVtZShsZWdlbmQucG9zaXRpb249J3JpZ2h0JykrCiAgbGFicyh4PSdNdXRhdGlvbiBDb3VudCcsIHk9J092ZXJhbGwgU3Vydml2YWwgKE1vbnRocyknLCB0aXRsZT0nUmVsYXRpb25zaGlwIGJldHdlZW4gb3ZlcmFsbCBzdXJ2aXZhbCBhbmQgbXV0YXRpb24gY291bnRzIGJ5IGNhbmNlciB0eXBlcycpKwogIHRoZW1lKHBsb3QudGl0bGU9ZWxlbWVudF90ZXh0KGhqdXN0PTAuNSwgc2l6ZT0xMCkpCm11dGF0aW9uMwpgYGAKCiMjIyBPdmVyYWxsIHN1cnZpdmFsIHN0YXR1cyB3aXRoIGZyYWN0aW9uIGdlbm9tZSBhbHRlcmVkIGJ5IHNleCBhbmQgc21va2luZyBzdGF0dXMKYGBge3IgcGxvdCBmcmFjdGlvbiBnZW5vbWUgYWx0ZXJlZCwgZWNobz1GQUxTRSwgZXZhbD1UUlVFLCBmaWcuYWxpZ249J2NlbnRlcid9CmZnYTwtZ2dwbG90KGRmLCBhZXMoeD1gRnJhY3Rpb24gR2Vub21lIEFsdGVyZWRgLCB5PWBPdmVyYWxsIFN1cnZpdmFsIChNb250aHMpYCwgZ3JvdXA9ZmFjdG9yKFNleCkpKSsKICB0aGVtZV9idygpKwogIGdlb21fcG9pbnQoYWVzKGNvbG9yPWZhY3RvcihTZXgpKSkrCiAgZ2VvbV9zbW9vdGgoYWVzKGNvbG9yPWZhY3RvcihTZXgpKSwgc2U9VFJVRSkrCiAgc2NhbGVfY29sb3JfaHVlKGxhYmVscyA9IGMoJ01hbGUnLCAnRmVtYWxlJyksIG5hbWU9J1NleCcpKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0ncmlnaHQnKSsKICBsYWJzKHg9J0ZyYWN0aW9uIEdlbm9tZSBBbHRlcmVkJywgeT0nT3ZlcmFsbCBTdXJ2aXZhbCBTdGF0dXMnLCB0aXRsZT0nUmVsYXRpb25zaGlwIGJldHdlZW4gb3ZlcmFsbCBzdXJ2aXZhbCBhbmQgZnJhY3Rpb24gZ2Vub21lIGFsdGVyZWQgYnkgc2V4JykrCiAgdGhlbWUocGxvdC50aXRsZT1lbGVtZW50X3RleHQoaGp1c3Q9MC41KSkKZmdhCmBgYApgYGB7ciBwbG90IGZnYTIsIGVjaG89RkFMU0UsIGV2YWw9VFJVRSwgZmlnLmFsaWduPSdjZW50ZXInfQpmZ2EyPC1nZ3Bsb3QoZGYsIGFlcyh4PWBNdXRhdGlvbiBDb3VudGAsIHk9YE92ZXJhbGwgU3Vydml2YWwgKE1vbnRocylgLCBncm91cD1mYWN0b3IoYFNtb2tpbmcgU3RhdHVzYCkpKSsKICB0aGVtZV9idygpKwogIGdlb21fcG9pbnQoYWVzKGNvbG9yPWZhY3RvcihgU21va2luZyBTdGF0dXNgKSkpKwogIGdlb21fc21vb3RoKGFlcyhjb2xvcj1mYWN0b3IoYFNtb2tpbmcgU3RhdHVzYCkpLCBzZT1UUlVFKSsKICBzY2FsZV9jb2xvcl9odWUobGFiZWxzID0gYygnTm8nLCAnWWVzJyksIG5hbWU9J1Ntb2tpbmcgU3RhdHVzJykrCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSdyaWdodCcpKwogIGxhYnMoeD0nRnJhY3Rpb24gR2Vub21lIEFsdGVyZWQnLCB5PSdPdmVyYWxsIFN1cnZpdmFsIChNb250aHMpJywgdGl0bGU9J1JlbGF0aW9uc2hpcCBiZXR3ZWVuIG92ZXJhbGwgc3Vydml2YWwgYW5kIGZyYWN0aW9uIGdlbm9tZSBhbHRlcmVkIGJ5IHNtb2tpbmcgc3RhdXRzJykrCiAgdGhlbWUocGxvdC50aXRsZT1lbGVtZW50X3RleHQoaGp1c3Q9MC41LCBzaXplPTEyKSkKZmdhMgpgYGAKCmBgYHtyIHBsb3QgZmdhMywgZWNobz1GQUxTRSwgZXZhbD1UUlVFLCBmaWcuYWxpZ249J2NlbnRlcid9CmZnYTM8LWdncGxvdChkZiwgYWVzKHg9YEZyYWN0aW9uIEdlbm9tZSBBbHRlcmVkYCwgeT1gT3ZlcmFsbCBTdXJ2aXZhbCAoTW9udGhzKWAsIGdyb3VwPWZhY3RvcihgQ2FuY2VyIFR5cGUgRGV0YWlsZWRgKSkpKwogIHRoZW1lX2J3KCkrCiAgZ2VvbV9wb2ludChhZXMoY29sb3I9ZmFjdG9yKGBDYW5jZXIgVHlwZSBEZXRhaWxlZGApKSkrCiAgZ2VvbV9zbW9vdGgoYWVzKGNvbG9yPWZhY3RvcihgQ2FuY2VyIFR5cGUgRGV0YWlsZWRgKSksc2U9VFJVRSkrCiAgc2NhbGVfY29sb3JfaHVlKGxhYmVscyA9IGMoJ0x1bmcgU3F1YW1vdXMgQ2VsbCBDYXJjaW5vbWEnLCdMdW5nIEFkZW5vY2FyY2lub21hJyksIG5hbWU9J0NhbmNlciBUeXBlIERldGFpbGVkJykrCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSdyaWdodCcpKwogIGxhYnMoeD0nRnJhY3Rpb24gR2Vub21lIEFsdGVyZWQnLCB5PSdPdmVyYWxsIFN1cnZpdmFsIChNb250aHMpJywgdGl0bGU9J1JlbGF0aW9uc2hpcCBiZXR3ZWVuIG92ZXJhbGwgc3Vydml2YWwgYW5kIGZyYWN0aW9uIGdlbm9tZSBhbHRlcmVkIGJ5IGNhbmNlciB0eXBlcycpKwogIHRoZW1lKHBsb3QudGl0bGU9ZWxlbWVudF90ZXh0KGhqdXN0PTAuNSwgc2l6ZT0xMCkpCmZnYTMKYGBgCgojIyMgT3ZlcmFsIHN1cnZpdmFsIHdpdGggYWdlCmBgYHtyIHBsb3QgYWdlLCBlY2hvPUZBTFNFLCBldmFsPVRSVUUsIGZpZy5hbGlnbj0nY2VudGVyJ30KYWdlPC1nZ3Bsb3QoZGYsIGFlcyh4PUFnZSwgeT1gT3ZlcmFsbCBTdXJ2aXZhbCAoTW9udGhzKWApKSsKICB0aGVtZV9idygpKwogIGdlb21fcG9pbnQoY29sb3I9J3B1cnBsZScpKwogICNnZW9tX3Ntb290aChhZXMoY29sb3I9J3B1cnBsZScpKSsKICAjc2NhbGVfY29sb3JfaHVlKGxhYmVscyA9IGMoJ05vJywgJ1llcycpLCBuYW1lPSdTbW9raW5nIFN0YXR1cycpKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0nbm9uZScpKwogIGxhYnMoeD0nQWdlJywgeT0nT3ZlcmFsbCBTdXJ2aXZhbCAoTW9udGhzKScsIHRpdGxlPSdSZWxhdGlvbnNoaXAgYmV0d2VlbiBvdmVyYWxsIHN1cnZpdmFsIGFuZCBhZ2UnKSsKICB0aGVtZShwbG90LnRpdGxlPWVsZW1lbnRfdGV4dChoanVzdD0wLjUpKQphZ2UKYGBgCgojIyMgQmV0d2VlbiBtdXRhdGlvbiBjb3VudHMgYW5kIGZyYWN0aW9uIGdlbm9tZSBhbHRlcmVkCmBgYHtyIHBsb3QgYmlvIHJlbGF0aW9uc2hpcCBzZXgsIGVjaG89RkFMU0UsIGV2YWw9VFJVRSwgZmlnLmFsaWduPSdjZW50ZXInfQpiaW88LWdncGxvdChkZiwgYWVzKHg9YEZyYWN0aW9uIEdlbm9tZSBBbHRlcmVkYCwgeT1gTXV0YXRpb24gQ291bnRgLCBncm91cD1mYWN0b3IoU2V4KSkpKwogIHRoZW1lX2J3KCkrCiAgZ2VvbV9wb2ludChhZXMoY29sb3I9ZmFjdG9yKFNleCkpKSsKICBnZW9tX3Ntb290aChhZXMoY29sb3I9ZmFjdG9yKFNleCkpLCBzZT1UUlVFKSsKICBzY2FsZV9jb2xvcl9odWUobGFiZWxzID0gYygnTWFsZScsICdGZW1hbGUnKSwgbmFtZT0nU2V4JykrCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSdyaWdodCcpKwogIGxhYnMoeD0nRnJhY3Rpb24gR2Vub21lIEFsdGVyZWQnLCB5PSdNdXRhdGlvbiBDb3VudCcsIHRpdGxlPSdSZWxhdGlvbnNoaXAgYmV0d2VlbiBtdXRhdGlvbiBjb3VudCBhbmQgZnJhY3Rpb24gZ2Vub21lIGFsdGVyZWQgY291bnRzIGJ5IHNleCcpKwogIHRoZW1lKHBsb3QudGl0bGU9ZWxlbWVudF90ZXh0KGhqdXN0PTAuNSkpCmJpbwpgYGAKCmBgYHtyIHBsb3QgYmlvIHJlbGF0aW9uc2hpcCBzbW9raW5nIHN0YXR1cywgZWNobz1GQUxTRSwgZXZhbD1UUlVFLCBmaWcuYWxpZ249J2NlbnRlcid9CmJpbzI8LWdncGxvdChkZiwgYWVzKHg9YEZyYWN0aW9uIEdlbm9tZSBBbHRlcmVkYCwgeT1gTXV0YXRpb24gQ291bnRgLCBncm91cD1mYWN0b3IoYFNtb2tpbmcgU3RhdHVzYCkpKSsKICB0aGVtZV9idygpKwogIGdlb21fcG9pbnQoYWVzKGNvbG9yPWZhY3RvcihgU21va2luZyBTdGF0dXNgKSkpKwogIGdlb21fc21vb3RoKGFlcyhjb2xvcj1mYWN0b3IoYFNtb2tpbmcgU3RhdHVzYCkpLCBzZT1UUlVFKSsKICBzY2FsZV9jb2xvcl9odWUobGFiZWxzID0gYygnTHVuZyBTcXVhbW91cyBDZWxsIENhcmNpbm9tYScsJ0x1bmcgQWRlbm9jYXJjaW5vbWEnKSwgbmFtZT0nU21va2luZyBTdGF0dXMnKSsKICB0aGVtZShsZWdlbmQucG9zaXRpb249J3JpZ2h0JykrCiAgbGFicyh4PSdGcmFjdGlvbiBHZW5vbWUgQWx0ZXJlZCcsIHk9J011dGF0aW9uIENvdW50JywgdGl0bGU9J1JlbGF0aW9uc2hpcCBiZXR3ZWVuIG11dGF0aW9uIGNvdW50IGFuZCBmcmFjdGlvbiBnZW5vbWUgYWx0ZXJlZCBjb3VudHMgYnkgY2FuY2VyIHR5cGUnKSsKICB0aGVtZShwbG90LnRpdGxlPWVsZW1lbnRfdGV4dChoanVzdD0wLjUsc2l6ZT0xMCkpCmJpbzIKYGBgCmBgYHtyIHBsb3QgYmlvIHJlbGF0aW9uc2hpcCBjYW5jZXIgdHlwZSwgZWNobz1GQUxTRSwgZXZhbD1UUlVFLCBmaWcuYWxpZ249J2NlbnRlcid9CmJpbzwtZ2dwbG90KGRmLCBhZXMoeD1gRnJhY3Rpb24gR2Vub21lIEFsdGVyZWRgLCB5PWBNdXRhdGlvbiBDb3VudGAsIGdyb3VwPWZhY3RvcihgQ2FuY2VyIFR5cGUgRGV0YWlsZWRgKSkpKwogIHRoZW1lX2J3KCkrCiAgZ2VvbV9wb2ludChhZXMoY29sb3I9ZmFjdG9yKGBDYW5jZXIgVHlwZSBEZXRhaWxlZGApKSkrCiAgZ2VvbV9zbW9vdGgoYWVzKGNvbG9yPWZhY3RvcihgQ2FuY2VyIFR5cGUgRGV0YWlsZWRgKSksIHNlPVRSVUUpKwogIHNjYWxlX2NvbG9yX2h1ZShsYWJlbHMgPSBjKCdNYWxlJywgJ0ZlbWFsZScpLCBuYW1lPSdDYW5jZXIgVHlwZSBEZXRhaWxlZCcpKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0ncmlnaHQnKSsKICBsYWJzKHg9J0ZyYWN0aW9uIEdlbm9tZSBBbHRlcmVkJywgeT0nTXV0YXRpb24gQ291bnQnLCB0aXRsZT0nUmVsYXRpb25zaGlwIGJldHdlZW4gbXV0YXRpb24gY291bnQgYW5kIGZyYWN0aW9uIGdlbm9tZSBhbHRlcmVkIGNvdW50cyBieSBzZXgnKSsKICB0aGVtZShwbG90LnRpdGxlPWVsZW1lbnRfdGV4dChoanVzdD0wLjUpKQpiaW8KYGBgCgojIyMgQmlvIGluZm9ybWF0aW9uIHdpdGggYWdlCmBgYHtyIHBsb3QgZmdhIGFnZSwgZWNobz1GQUxTRSwgZXZhbD1UUlVFLCBmaWcuYWxpZ249J2NlbnRlcid9CmZnYWFnZTwtZ2dwbG90KGRmLCBhZXMoeD1BZ2UsIHk9YEZyYWN0aW9uIEdlbm9tZSBBbHRlcmVkYCkpKwogIHRoZW1lX2J3KCkrCiAgZ2VvbV9wb2ludChjb2xvcj0ncHVycGxlJykrCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSdub25lJykrCiAgbGFicyh4PSdBZ2UnLCB5PSdGcmFjdGlvbiBHZW5vbWUgQWx0ZXJlZCcsIHRpdGxlPSdSZWxhdGlvbnNoaXAgYmV0d2VlbiBmcmFjdGlvbiBnZW5vbWUgYWx0ZXJlZCBhbmQgYWdlJykrCiAgdGhlbWUocGxvdC50aXRsZT1lbGVtZW50X3RleHQoaGp1c3Q9MC41KSkKZmdhYWdlCmBgYAoKYGBge3IgcGxvdCBtdXRhdGlvbiBhZ2UsIGVjaG89RkFMU0UsIGV2YWw9VFJVRSwgZmlnLmFsaWduPSdjZW50ZXInfQptYWdlPC1nZ3Bsb3QoZGYsIGFlcyh4PUFnZSwgeT1gTXV0YXRpb24gQ291bnRgKSkrCiAgdGhlbWVfYncoKSsKICBnZW9tX3BvaW50KGNvbG9yPSdwdXJwbGUnKSsKICB0aGVtZShsZWdlbmQucG9zaXRpb249J25vbmUnKSsKICBsYWJzKHg9J0FnZScsIHk9J011dGF0aW9uIENvdW50JywgdGl0bGU9J1JlbGF0aW9uc2hpcCBiZXR3ZWVuIG11dGF0aW9uIGNvdW50IGFuZCBhZ2UnKSsKICB0aGVtZShwbG90LnRpdGxlPWVsZW1lbnRfdGV4dChoanVzdD0wLjUpKQptYWdlCmBgYA==